﻿package com.snzflash.events 
{
	import flash.events.Event;
	
	/**
	 * События секции
	 * @author firsoff maxim, tel: +79222345364, skype: maxim.firsoff
	 */
	public class ComponentEvent extends Event 
	{
		
		public static const DESTROY:String = 'destroy';
		public static const DESTROYED:String = 'destroyed';
		
		/**
		 * создание компонента завершено
		 */
		public static const CREATION_COMPLETE:String = 'creation_complete';
		
		/**
		 * при полной отрисовке и изменения размеров компонента
		 */
		public static const UPDATE_COMPLETE:String = 'update_complete';
		
		// транспорт данных
		public var data:*;
		public function ComponentEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false, data:* = null) 
		{ 
			this.data = data;
			super(type, bubbles, cancelable);
			
		} 
		
		public override function clone():Event 
		{ 
			return new ComponentEvent(type, bubbles, cancelable, data);
		} 
		
		public override function toString():String 
		{ 
			return formatToString("SectionEvent", "type", "bubbles", "cancelable", "eventPhase", 'data'); 
		}
		
	}
	
}